chcp 65001
@ECHO OFF
setlocal enabledelayedexpansion

:: 获取传递的文件路径
@SET "filePath=%~1"

:: 获取当前目录路径
@SET "scriptPath=%~dp0"
ECHO 当前BAT目录:%scriptPath%
ECHO 当前输入路径:%filePath%

::开始压缩
if exist "%filePath%\" (
    :: 遍历目录下的文件
    for /r "%filePath%" %%i in (*.png *.jpg) do (
        :: 获取扩展名
        SET "extension="
        for %%A in ("!%%i!.") do SET "extension=%%~xA"
        :: 判断文件扩展名是否是.png或.jpg
        if /i "!extension!"==".png" (
            ECHO 压缩文件:%%i
            %scriptPath%YS.exe -f --ext .png --speed=1 --force "%%i"
        ) else if /i "!extension!"==".jpg" (
            ECHO 压缩文件:%%i
            %scriptPath%YS.exe -f --ext .jpg --speed=1 --force "%%i"
        ) else (
            ECHO 压缩失败:%%i
        )
    )
) else if exist "%filePath%" (
    :: 获取扩展名
    SET "extension="
    for %%A in ("!filePath!.") do SET "extension=%%~xA"
    :: 判断文件扩展名是否是.png或.jpg
    if /i "!extension!"==".png" (
        ECHO 压缩文件:%filePath%
        %scriptPath%YS.exe -f --ext .png --speed=1 --force "%filePath%"
    ) else if /i "!extension!"==".jpg" (
        ECHO 压缩文件:%filePath%
        %scriptPath%YS.exe -f --ext .jpg --speed=1 --force "%filePath%"
    ) else (
        ECHO 压缩失败:%filePath%
    )
) else (
    ECHO 无法确定当前路径是文件还是目录
)

endlocal
pause